package edu.isistan.matching.adapters;

import java.util.HashSet;
import java.util.Hashtable;
import java.util.Set;

import edu.isistan.metamodel.DataType;


/**
 * Clase que representa un adaptador de cualquier tipo
 * @author Mariano
 *
 */
public class AnyTypeAdapter extends PrimitiveTypeAdapter {

	//TODO Mariano 17 feb el adaptador es incompatible por defecto y no provee cambio de tipos
	@Override
	public boolean isFullyCompatible(DataType element) {
		return false;
	}

	@Override
	public boolean isIncompatible(DataType element) {
		return false;
	}

	@Override
	public boolean isLoosyCompatible(DataType element) {
		return true;
	}

	@Override
	public Object toValue(DataType element) {
		return value;
	}

	@Override
	public Object valueof(Object value) {
		return value;
	}

	@Override
	public Set<String> getFullyCompatibles() {
		// No tiene compatibilidad
		return new HashSet<String>();
	}

	@Override
	public Hashtable<String, String> getLibraryCode() {
		// No tiene conversiones
		return new Hashtable<String,String>();
	}

	@Override
	public Set<String> getLoosyCompatibles() {
		// No tiene semi compatibilidad
		return new HashSet<String>();
	}

	
}
